<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Categoria extends CI_Controller {

	function __construct()
	{
		parent::__construct();
		$this->load->model('categoria_model');
	}
	
	public function index()
	{
		$this->load->view('app/categoria/categoria');
	}
	
	public function nova()
	{
		$this->load->view('app/categoria/nova_categoria');
	}
	
	public function editar($id)
	{
		$user = $this->session->userdata(USUARIO); 
		$categoria = $this->categoria_model->buscar(array("id"=>$id,"id_usuario"=>$user->id));
		$data['categoria'] = $categoria;	
		$this->load->view('app/categoria/editar_categoria',$data);
	}
	
	public function excluir($id)
	{
		$user = $this->session->userdata(USUARIO); 
		$this->categoria_model->excluir(array("id"=>$id,"id_usuario"=>$user->id));
		$this->nova();
	}
	
	public function tabela()
	{
		$user = $this->session->userdata(USUARIO); 
		if($user){
			$categorias = $this->categoria_model->buscarTodos(array("id_usuario"=>$user->id));
			if(!$categorias){
				return $this->load->view('app/categoria/tabela_categoria');
			}
			$data['categorias'] = $categorias;			
			$this->load->view('app/categoria/tabela_categoria',$data);
		}else{
			echo " ";	
		}		
	}
	
	public function categorias()
	{
		$this->index();
	}
	
	public function gravar(){
		//definicao da lista de regras a aplicar
		$config=array(array(
	              'field'   => 'nome',
	              'label'   => 'Nome',
	              'rules'   => 'trim|required|min_length[4]|max_length[40]'
	              ));

	          $id = $this->input->post('id');
              //atribui a lista de regras a proxima execucao da validacao
              $this->form_validation->set_rules($config);
              //Teste de validacao de dados
              if(($this->form_validation->run())==FALSE)
              {
              	if($id){
              		$this->load->view('app/categoria/editar_categoria');
              	}else{
              		$this->nova();
              	}
              }
              else
              {
              	if($id){
              		$data['nome'] = $this->input->post('nome');
	              	$this->categoria_model->atualizar($data,$id);
	              	$this->editar($id);
              	}else{
	              	$user = $this->session->userdata(USUARIO); 
	              	$data['nome'] = $this->input->post('nome');
	              	$data['id_usuario'] = $user->id;              	
	              	$this->categoria_model->gravar($data);
	              	$this->nova();
              	}
              	
              }
              

	}

}
